Keyword [Prototypical Network]
Snell J, Swersky K, Zemel R. Prototypical networks for few-shot learning[C]//Advances in Neural Information Processing Systems. 2017: 4077-4087.
1. Overview
In this paper
- proposes Prototypical Network (PN) for few-shot learning
- extend PN to zero-shot learning
- euclidean distance better than cosine similarly
1.1. Few-Shot Learning
c. mean of the support examples for each class
- classifier must generalize to new classes not seen in the training set
- given only a small number of examples (support set) of each new class
1.1.1. Episode Training (for example)
- training set. 200 classes, 10 samples/class
- each episode. randomly select 5 classes
- 4 samples/class as support set (GT can be used)
- 6 samples/class as query set (GT only use to calc loss)
1.1.2. Testing
- test set. new 20 classes, 20 samples/class
- each episode. randomly select 5 classes
- 5 samples/class as support set (GT can be used)
- 15 samples/class as query set (GT can be used, only to calc acc)
1.1.3. One-Shot Learning
- only one sample/class in support set
1.2. Zero-Shot Learning
c. embed class meta-data v
- each class comes with meta-data giving a high-level description of the class rather than a small number of labeled examples
1.3. Related Work
- Matching Network (MN). in one-shot learning, PN=MN
2. Method
2.1. Algorithm
- zero-shot.
2.2. Episode
- N_c-way (class), N_S-shot (sample)
- higher way or shot is beneficial
- best to train and test with the same shot
3. Experiments
3.1. Datails
3.1.1. Omniglot
- 28x28, gray
- 1623 characters, 20 samples/character
- rotate 90, 180. 270 to get different classes
- 1,200 x 4 classes as training set
- 1000 randomly generated episodes from test set
3.1.2. miniImageNet
3.1.3. CUB-200
3.2. Network
- 4 Conv
- each as [64, 3x3 Conv; BN; ReLU; Maxpooling]